*Table A.31: Meal and Snack treatment effects on dietary intake using alternative inference procedures
cd ""

use "master_data_adults_child_s13456_shared.dta", clear 
drop meal_control snack_control
gen meal_control=1 if treatment==2
replace meal_control=0 if treatment==1

gen snack_control=1 if treatment==3
replace snack_control=0 if treatment==1

drop if type_id=="X" // **Dropping newborns born during the three years of study
drop if id=="3885553B" //**error in the id number and empty data
drop if id=="3885553G" //**error in the id number and empty data
replace treatment=2 if id=="38855553B" //**retrieving the correct treatment for this id
replace treatment=2 if id=="38855553G" //**retrieving the correct treatment for this id
drop if id=="101aa22c" //**this id does not exist

********************************************************************************
ge meal=(treatment==2)
replace meal=. if treatment==.

ge snack=(treatment==3)
replace snack=. if treatment==.

ge session1=(session==1)
replace session1=. if session==.

ge session3=(session==3)
replace session3=. if session==.

ge session4=(session==4)
replace session4=. if session==.

ge session5=(session==5)
replace session5=. if session==.

ge session6=(session==6)
replace session6=. if session==.

ge meal_session1=meal*session1
ge meal_session3=meal*session3
ge meal_session4=meal*session4
ge meal_session5=meal*session5
ge meal_session6=meal*session6

ge snack_session1=snack*session1
ge snack_session3=snack*session3
ge snack_session4=snack*session4
ge snack_session5=snack*session5
ge snack_session6=snack*session6

***macro nutrients*****
ge food15_other_veg_new=food15_other_veg
replace food15_other_veg_new=0 if food15_other_veg==. & energykcal!=.
ge food16_fruit_new=food16_fruit
replace food16_fruit_new=0 if food16_fruit==. & energykcal!=.
*
drop portion_veg_wisp portion_fruit_wisp
gen portion_veg_wisp=food15_other_veg/80
gen portion_fruit_wisp=food16_fruit/80
gen fuit_and_veg_g=total_veg_fruit_eatwell if session==1
replace fuit_and_veg_g=total_veg_fruit_eatwell if session==3
replace fuit_and_veg_g=food15_other_veg+food16_fruit if session==4
ge FV=food15_other_veg_new+food16_fruit_new


xtset id_nb session

*Results
**PANEL A: Children 
set more off
foreach x in energykcal FV saturatesg nmesg {
xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==1, cluster(hh_id) fe
*Randomisation Inference
randcmd ((meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) ///
xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==1, cluster(hh_id) fe),  ///
treatvars(meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) seed(123) reps(5000)
matrix b=e(RCoef)
local randt_m3=b[1,5]
local randt_m4=b[2,5]
local randt_m5=b[3,5]
local randt_m6=b[4,5]

local randt_s3=b[5,5]
local randt_s4=b[6,5]
local randt_s5=b[7,5]
local randt_s6=b[8,5]

xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==1, cluster(hh_id) fe

*Joint tests
*meal all
test meal_session3 meal_session4 meal_session5 meal_session6
local meal=r(p)

*snack all
test snack_session3 snack_session4 snack_session5 snack_session6
local snack=r(p)

*meal medium/long
test meal_session4 meal_session5 meal_session6 
local mlr=r(p)

*snack medium/long
test snack_session4 snack_session5 snack_session6 
local slr=r(p)

outreg2 using DietRecall_RI.xls, label ctitle(Energy) dec(3) append excel ///
addstat(Meal joint, `meal', Snack joint, `snack', Meal long, `mlr', Snack long, `slr', ///
RI p-val MS3, `randt_m3', RI p-val MS4, `randt_m4', RI p-val MS5, `randt_m5', RI p-val MS6, `randt_m6', ///
RI p-val SS3, `randt_s3', RI p-val SS4, `randt_s4', RI p-val SS5, `randt_s5', RI p-val SS6, `randt_s6') ///
keep(session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) 
}


keep energykcal FV saturatesg nmesg ///
fp_fruit fp_veg fp_processed fp_sweets ///
session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 ///
child hh_id id_nb


*Romano Wolf - p-values
*Meal Session 3
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session3) controls(session3 session4 session5 session6 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 4
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session4) controls(session3 session4 session5 session6 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 5
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session5) controls(session3 session4 session5 session6 meal_session3 meal_session4 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 6
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session6) controls(session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 3
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session3) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6  snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 4
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session4) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 5
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session5) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session6) reps(5000) seed(123)

*Snack Session 6
rwolf energykcal FV saturatesg nmesg if child==1, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session6) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5) reps(5000) seed(123)


**PANEL B: Adults 
set more off
foreach x in energykcal FV saturatesg nmesg {
*the smaller the dataset (i.e. fewer variables) the faster randcmd runs)
xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==0, cluster(hh_id) fe
*Randomisation Inference
randcmd ((meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) ///
xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==0, cluster(hh_id) fe),  ///
treatvars(meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) seed(123) reps(5000)
matrix b=e(RCoef)
local randt_m3=b[1,5]
local randt_m4=b[2,5]
local randt_m5=b[3,5]
local randt_m6=b[4,5]

local randt_s3=b[5,5]
local randt_s4=b[6,5]
local randt_s5=b[7,5]
local randt_s6=b[8,5]

xtreg `x' session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6 if child==0, cluster(hh_id) fe

*Joint tests
*meal all
test meal_session3 meal_session4 meal_session5 meal_session6
local meal=r(p)

*snack all
test snack_session3 snack_session4 snack_session5 snack_session6
local snack=r(p)


*meal medium/long
test meal_session4 meal_session5 meal_session6 
local mlr=r(p)

*snack medium/long
test snack_session4 snack_session5 snack_session6 
local slr=r(p)

outreg2 using DietRecall_RI_v4_ad.xls, label ctitle(Energy) dec(3) append excel ///
addstat(Meal joint, `meal', Snack joint, `snack', Meal long, `mlr', Snack long, `slr', ///
RI p-val MS3, `randt_m3', RI p-val MS4, `randt_m4', RI p-val MS5, `randt_m5', RI p-val MS6, `randt_m6', ///
RI p-val SS3, `randt_s3', RI p-val SS4, `randt_s4', RI p-val SS5, `randt_s5', RI p-val SS6, `randt_s6') ///
keep(session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) 
 
}


*Adults
*Romano Wolf - p-values
*Meal Session 3
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session3) controls(session3 session4 session5 session6 meal_session4 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 4
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session4) controls(session3 session4 session5 session6 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 5
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session5) controls(session3 session4 session5 session6 meal_session3 meal_session4 meal_session6 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Meal Session 6
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(meal_session6) controls(session3 session4 session5 session6 meal_session3 meal_session4 meal_session5 snack_session3 snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 3
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session3) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6  snack_session4 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 4
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session4) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session5 snack_session6) reps(5000) seed(123)

*Snack Session 5
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session5) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session6) reps(5000) seed(123)

*Snack Session 6
rwolf energykcal FV saturatesg nmesg if child==0, cl(hh_id) method(xtreg) fe /// 
indepvar(snack_session6) controls(session3 session4 session5 session6 meal_session4 meal_session3 meal_session5 meal_session6 snack_session3 snack_session4 snack_session5) reps(5000) seed(123)






